/**
 * 流程属性列表
 */
export interface FlowAttributeInfo {
  /**
   * 属性ID
   */
  id: number;
  /**
   * 属性名称
   */
  name: string;
  /**
   * 属性被赋值，不同于id
   */
  value?: string;
  /**
   * 属性描述
   */
  desc?: string;
  /**
   * 属性是否被选择
   */
  show?: boolean;
}

/**流程调试-外呼测试入参 */
export interface FlowDebugRequest {
  /**被叫号码 */
  calledNumber: string;
  /**会话ID UUID: 前端生成, 区别后端的sessionId */
  sessionId: string;
  /**版本ID */
  versionId: number;
  /**变量 */
  attributes: FlowAttributeInfo[];
}

/**流程调试-状态信息通知 */
export interface FlowDebugNotifyResponse {
  /**被叫号码 */
  calledNumber: string;
  /**会话ID UUID: 前端生成, 区别后端的sessionId */
  sessionId: string;
  /**版本ID */
  versionId: number;
  attributes: FlowAttributeInfo[];
  /**
   * 事件类型 incoming-来电, ring-振铃, answer-应答, connect-双向接通, hangup-挂机(呼叫结束,), start_session-流程开始, exit_session-流程结束
   */
  eventType:
    | 'incoming'
    | 'ring'
    | 'answer'
    | 'connect'
    | 'hangup'
    | 'start_session'
    | 'exit_session';
  /**当前node Key */
  currentNodeKey: string;
  /**对话内容 */
  callContent: string;
  /**
   * 说话方，0 - 用户；1 - 坐席
   */
  speaker: '0' | '1';
}
